%% 做出一个随机旋转角度的连接椭圆

% function [输出变量] = 函数名称(输入变量）
function [x2,y2,locm,ellipse] = creatanconnectedEllipse(ellipse_radius,x1,y1) %x1,y1是第一个椭圆的中心点位置
% x2，y2第二个矩形中点坐标（画线）；locm刺激中点位置（控制刺激距离）；rect矩形坐标

[xax, yax] = meshgrid(1:227, 1:227);
rax = xax+1i*yax;

loc1 = x1+1i*y1;

% 矩形2中心位置
rt1 = abs(rax-loc1);%rt1<circle_radius就是圆1;下行命令是rt1<4*r，就是为了找出圆2运动轨迹围成的大圆，然后再用"bwboundaries"抠出轨迹
loc2ind = rt1<4*ellipse_radius; % 第2个圆的圆心运动轨迹的大圆
loc2bound = bwboundaries(loc2ind); % 第2个圆的圆心运动的轨迹（loc2ind的圆周长），是cell
loc2bound = loc2bound{1};% 将cell提取出来，形成矩阵，方便下面提取
loc2 = loc2bound(randi(size(loc2bound,1),1),1:2); % 提取圆2的圆心运动坐标的范围，随机挑一个坐标作为圆2的坐标
loc2 = loc2(2) + 1i*loc2(1);% 实部对应x（列），虚部对应y（行）

% 椭圆2的中点坐标参数
x2 = real(loc2); % 圆心2的横坐标
y2 = imag(loc2); % 圆心2的纵坐标

% 刺激中点位置
xm = (x1+x2)/2;
ym = (y1+y2)/2;
locm = xm + 1i*ym;

% 椭圆坐标位置
% 第一个椭圆
lux1 = x1-ellipse_radius; % 左上x坐标
luy1 = y1-0.5*ellipse_radius; % 左上y坐标
rdx1 = x1+ellipse_radius; % 右下x坐标
rdy1 = y1+0.5*ellipse_radius; % 右下y坐标
ellipse1 = [lux1;luy1;rdx1;rdy1];

%第二个矩形
lux2 = x2-ellipse_radius; % 左上x坐标
luy2 = y2-0.5*ellipse_radius; % 左上y坐标
rdx2 = x2+ellipse_radius; % 右下x坐标
rdy2 = y2+0.5*ellipse_radius; % 右下y坐标
ellipse2 = [lux2;luy2;rdx2;rdy2];

ellipse = [ellipse1,ellipse2];

end




